package com.xinqi.modules.chat.chat.message.dto.req;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 聊天消息置顶-请求对象-置顶
 *
 * @author: yyzhen
 * @date: 2023/06/29
 */
@Data
@Schema(description = "聊天消息置顶-请求对象-置顶")
public class ChatMessageTopDTO implements Serializable {

    @NotEmpty(message = "{chat.message.top.targetId.not.blank}")
    @Schema(description = "会话ID")
    private String targetId;

    @NotEmpty(message = "{chat.message.top.conversationType.not.blank}")
    @Schema(description = "会话类型（取融云,1私聊  3群聊）", example = "1")
    private String conversationType;

    @NotEmpty(message = "{chat.message.top.messageId.not.blank}")
    @Schema(description = "消息ID（取融云）", example = "C8A9-GJ6H-B4U7-TMED")
    private String messageId;

    @NotNull(message = "{chat.message.top.userId.not.blank}")
    @Schema(description = "消息发送人")
    private Long userId;

    @Schema(description = "消息发送时间")
    private Long sendTime;

    @NotEmpty(message = "{chat.message.top.type.not.blank}")
    @Schema(description = "消息类型（取融云）", example = "RC:TxtMsg")
    private String type;

    @Schema(description = "文本内容")
    private String text;

    @Schema(description = "文件名")
    private String fileName;

    @Schema(description = "文件路径")
    private String filePath;

    @Schema(description = "文件后缀")
    private String fileExt;

    @Schema(description = "文件大小")
    private Integer size;

    @Schema(description = "语音、视频的时长")
    private Integer duration;

}
